package com.molichuxing.gateway.bff.order.entity.response;

import com.molichuxing.framework.dto.ResponseRootDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @Author: renzhengyu
 * @Description:
 * @Date: Created in 14:42 2019/8/21
 * @Modified By:
 **/
@Data
public class OrderDealerVo extends ResponseRootDto {

    private static final long serialVersionUID = -2337881606673626230L;
    /**
     * id
     */
    private Integer id;

    /**
     * 订单号
     */
    @ApiModelProperty(value = "订单号")
    private Long orderCode;

    /**
     * 租期（12：12月，n：n月）
     */
    @ApiModelProperty(value = "租期")
    private Integer tenancy;

    /**
     * 付款方式（0：全款，1：月付，3：3月付，n：n月付）
     */
    @ApiModelProperty(value = "付款周期")
    private Integer paymentCycle;


    /**
     * 订单状态（1：创建订单，2：待首付款，3：已付首付款，4：等待发车，5： 等待收车，6： 完成采购） order_status
     */
    @ApiModelProperty(value = "订单状态")
    private Integer orderStatus;

    /**
     * 订单状态名称（1：创建订单，2：待首付款，3：已付首付款，4：等待发车，5： 等待收车，6： 完成采购） order_status
     */
    @ApiModelProperty(value = "订单状态名称")
    private String orderStatusName;

    /**
     * 租售数量
     */
    @ApiModelProperty(value = "车辆数")
    private Integer rentNumbers;

    /**
     * 经销商id
     */
    private Integer dealerId;

    /**
     * 首付金额
     */
    @ApiModelProperty(value = "首付金额")
    private  BigDecimal downPayment;

    /**
     * 已付金额
     */
    @ApiModelProperty(value = "已付金额")
    private BigDecimal amountPaid;


    /**
     * 经销商名称
     */
    @ApiModelProperty(value = "经销商名称")
    private String dealerName;

    /**
     * 总租金
     */
    @ApiModelProperty(value = "总租金")
    private BigDecimal rentAmount;

    /**
     * 总保证金
     */
    @ApiModelProperty(value = "总保证金")
    private BigDecimal depositAmount;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime gmtCreate;

    /**
     * 更新时间
     */
    private LocalDateTime gmtModified;


    /**
     * 订单关联车辆id集合
     */
    private List<Integer> carIdList;

    /**
     * 订单关联车辆
     */
    @ApiModelProperty(value = "车辆信息")
    private List<OrderDealerCarVo> carInfoList;

}
